package AdapterPattern.ObjectAdapter;


/**
 * 适配器模式
 * 2.对象适配器
 */
public class ObjectAdapter implements IVoltageDst {
    VoltageSrc voltageSrc;//持有被适配类的对象 聚合关系

    //构造方法，传入被适配类的对象
    public ObjectAdapter(VoltageSrc voltageSrc) {
        this.voltageSrc = voltageSrc;
    }

    @Override
    public int outputVoltageDstSize() {
        int dstSize = 0;//初始化目标电压大小
        if (null != voltageSrc) {
            //获取源电压
            int src = voltageSrc.outputVoltageSize();
            //模拟源电压到目标电压的转换过程 电压大小转换
            dstSize = src / 44;////硬核转换，意思一下
            System.out.println("适配电压大小完成，适配完后电压大小：" + dstSize + " V ");
        }
        return dstSize;
    }

    @Override
    public String outputVoltageDstType() {
        String dstType = "";//初始化目标电压类型
        if (null != voltageSrc) {
            //获取源电压
            String srcType = voltageSrc.outputVoltageType();
            //模拟源电压到目标电压的转换过程 电压类型转换
            if (srcType.equals("交流")) {
                dstType = "直流";//硬核转换，意思一下
            }
            System.out.println("适配电压类型完成，适配完后电压类型：" + dstType);
        }
        return dstType;
    }
}
